---
layout: m1x_soap
title: Category Update
---



<h2><a name="catalog_category.update-Module%3AMageCatalog"></a>Module: Mage_Catalog</h2>

<p>The Mage_Catalog module allows you to manage categories and products.</p>

<h4><a name="catalog_category.update-ResourceName%3Acatalogcategory"></a><b>Resource Name:</b> catalog_category</h4>

<p><b>Aliases:</b></p>
<ul>
	<li>category</li>
</ul>


<h5><a name="catalog_category.update-Method%3A"></a>Method:</h5>

<ul>
	<li>catalog_category.update (SOAP V1)</li>
	<li>catalogCategoryUpdate (SOAP V2)</li>
</ul>


<p>Update the required category. Note that you should specify only those parameters which you want to be updated.</p>

<p><b>Aliases:</b></p>
<ul>
	<li>category.update</li>
</ul>


<p><b>Arguments</b>:</p>

<table><tbody>
<tr>
<th> Type </th>
<th> Name </th>
<th> Description </th>
</tr>
<tr>
<td> string </td>
<td> sessionId </td>
<td> Session ID </td>
</tr>
<tr>
<td> int </td>
<td> categoryId </td>
<td> ID of the category to be updated </td>
</tr>
<tr>
<td> array </td>
<td> categoryData </td>
<td> An array of catalogCategoryEntityCreate </td>
</tr>
<tr>
<td> string </td>
<td> storeView </td>
<td> Store view ID or code (optional) </td>
</tr>
</tbody></table>


<p><b>Returns</b>:</p>

<table><tbody>
<tr>
<th> Type </th>
<th> Description </th>
</tr>
<tr>
<td> boolean </td>
<td> True if the category is updated </td>
</tr>
</tbody></table>


<p>The <b>catalogCategoryEntityCreate</b> content is as follows:</p>

<table><tbody>
<tr>
<th> Type </th>
<th> Name </th>
<th> Description </th>
</tr>
<tr>
<td> string </td>
<td> name </td>
<td> Name of the category to be updated <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td> int </td>
<td> is_active </td>
<td> Defines whether the category is visible in the frontend <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td> int </td>
<td> position </td>
<td> Position of the category to be updated <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td> arrayOfString <br class="atl-forced-newline" /> </td>
<td> available_sort_by <br class="atl-forced-newline" /> </td>
<td> All available options by which products in the category can be sorted <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td> string <br class="atl-forced-newline" /> </td>
<td> custom_design <br class="atl-forced-newline" /> </td>
<td> The custom design for the category <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td> int <br class="atl-forced-newline" /> </td>
<td> custom_apply_to_products&nbsp; <br class="atl-forced-newline" /> </td>
<td> Apply the custom design to all products assigned to the category <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td> string <br class="atl-forced-newline" /> </td>
<td> custom_design_from <br class="atl-forced-newline" /> </td>
<td> Date starting from which the custom design will be applied to the category <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td> string <br class="atl-forced-newline" /> </td>
<td> custom_design_to <br class="atl-forced-newline" /> </td>
<td> Date till which the custom design will be applied to the category <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td> string <br class="atl-forced-newline" /> </td>
<td> custom_layout_update <br class="atl-forced-newline" /> </td>
<td> Custom layout update <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td> string <br class="atl-forced-newline" /> </td>
<td> default_sort_by <br class="atl-forced-newline" /> </td>
<td> The default option by which products in the category are sorted <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td> string <br class="atl-forced-newline" /> </td>
<td> description <br class="atl-forced-newline" /> </td>
<td> Category description <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td> string <br class="atl-forced-newline" /> </td>
<td> display_mode <br class="atl-forced-newline" /> </td>
<td> Content that will be displayed on the category view page <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td> int <br class="atl-forced-newline" /> </td>
<td> is_anchor <br class="atl-forced-newline" /> </td>
<td> Defines whether the category will be anchored <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td> int <br class="atl-forced-newline" /> </td>
<td> landing_page <br class="atl-forced-newline" /> </td>
<td> Landing page <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td> string <br class="atl-forced-newline" /> </td>
<td> meta_description <br class="atl-forced-newline" /> </td>
<td> Category meta description <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td> string <br class="atl-forced-newline" /> </td>
<td> meta_keywords <br class="atl-forced-newline" /> </td>
<td> Category meta keywords <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td> string <br class="atl-forced-newline" /> </td>
<td> meta_title <br class="atl-forced-newline" /> </td>
<td> Category meta title <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td> string <br class="atl-forced-newline" /> </td>
<td> page_layout <br class="atl-forced-newline" /> </td>
<td> Type of page layout that the category should use <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td> string <br class="atl-forced-newline" /> </td>
<td> url_key <br class="atl-forced-newline" /> </td>
<td> A relative URL path which can be entered in place of the standard target path <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td> int <br class="atl-forced-newline" /> </td>
<td> include_in_menu <br class="atl-forced-newline" /> </td>
<td> Defines whether the category is visible on the top menu bar in the frontend <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td> string </td>
<td> filter_price_range <br class="atl-forced-newline" /> </td>
<td> Price range of each price level displayed in the layered navigation block <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td> int </td>
<td> custom_use_parent_settings <br class="atl-forced-newline" /> </td>
<td> Defines whether the category will inherit custom design settings of the category to which it is assigned. 1 - Yes, 0 - No <br class="atl-forced-newline" /> </td>
</tr>
</tbody></table>


<p><b>Faults</b>:<br/>
<em>No Faults</em></p>

<h4><a name="catalog_category.update-Examples"></a>Examples</h4>

<h5><a name="catalog_category.update-RequestExampleSOAPV1"></a>Request Example SOAP V1</h5>

<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<div id="root">
		<pre class="theme: Default; brush: php; gutter: false">$client = new SoapClient('http://magentohost/api/soap/?wsdl');

// If some stuff requires api authentification,
// then get a session token
$session = $client-&gt;login('apiUser', 'apiKey');
$result = $client-&gt;call($session, 'catalog_category.update', array(23, array(
    'name' =&gt; 'Category name',
    'is_active' =&gt; 1,
    'position' =&gt; 1,
    //&lt;!-- position parameter is deprecated, category anyway will be positioned in the end of list
    //and you can not set position directly, use catalog_category.move instead --&gt;
    'available_sort_by' =&gt; 'position',
    'custom_design' =&gt; null,
    'custom_apply_to_products' =&gt; null,
    'custom_design_from' =&gt; null,
    'custom_design_to' =&gt; null,
    'custom_layout_update' =&gt; null,
    'default_sort_by' =&gt; 'position',
    'description' =&gt; 'Category description',
    'display_mode' =&gt; null,
    'is_anchor' =&gt; 0,
    'landing_page' =&gt; null,
    'meta_description' =&gt; 'Category meta description',
    'meta_keywords' =&gt; 'Category meta keywords',
    'meta_title' =&gt; 'Category meta title',
    'page_layout' =&gt; 'two_columns_left',
    'url_key' =&gt; 'url-key',
    'include_in_menu' =&gt; 1,
)));

var_dump ($result);</pre>
		</div>
</div></div>

<h5><a name="catalog_category.update-RequestExampleSOAPV2"></a>Request Example SOAP V2</h5>

<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<div id="root">
		<pre class="theme: Default; brush: php; gutter: false">$client = new SoapClient('http://magentohost/api/v2_soap/?wsdl');

// If some stuff requires api authentification,
// then get a session token
$session = $client-&gt;login('apiUser', 'apiKey');
$result = $client-&gt;catalogCategoryUpdate($session, 23, array(
    'name' =&gt; 'Category name 2',
    'is_active' =&gt; 1,
    'position' =&gt; 1,
    //&lt;!-- position parameter is deprecated, category anyway will be positioned in the end of list
    //and you can not set position directly, use catalog_category.move instead --&gt;
    'available_sort_by' =&gt; array('position'),
    'custom_design' =&gt; null,
    'custom_apply_to_products' =&gt; null,
    'custom_design_from' =&gt; null,
    'custom_design_to' =&gt; null,
    'custom_layout_update' =&gt; null,
    'default_sort_by' =&gt; 'position',
    'description' =&gt; 'Category description',
    'display_mode' =&gt; null,
    'is_anchor' =&gt; 0,
    'landing_page' =&gt; null,
    'meta_description' =&gt; 'Category meta description',
    'meta_keywords' =&gt; 'Category meta keywords',
    'meta_title' =&gt; 'Category meta title',
    'page_layout' =&gt; 'two_columns_left',
    'url_key' =&gt; 'url-key',
    'include_in_menu' =&gt; 1,
));

var_dump ($result);</pre>
		</div>
</div></div>


<h5><a name="catalog_category.update-RequestExampleSOAPV2%28WSIComplianceMode%29"></a>Request Example SOAP V2 (WS-I Compliance Mode)</h5>

<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<div id="root">
		<pre class="theme: Default; brush: php; gutter: false">$proxy = new SoapClient('http://magentohost/api/v2_soap/?wsdl');

$sessionId = $proxy-&gt;login((object)array('username' =&gt; 'apiUser', 'apiKey' =&gt; 'apiKey'));

$result = $proxy-&gt;catalogCategoryUpdate((object)array('sessionId' =&gt; $sessionId-&gt;result, 'categoryId' =&gt; '23', 'categoryData' =&gt; ((object)array(
    'name' =&gt; 'Category Name Updated',
    'is_active' =&gt; '1',
    'position' =&gt; '1',
    'available_sort_by' =&gt; array('name'),
    'default_sort_by' =&gt; 'name',
    'description' =&gt; 'Category description',
    'is_anchor' =&gt; '1',
    'include_in_menu' =&gt; '1'
))));
var_dump($result-&gt;result);</pre>
		</div>
</div></div>

<?php include(__ROOT__ . 'footer.php'); ?>
